if(!jsx3.lang.Class.forName("tibco.admin.enterpriseAssets.envDef.envDtls.genInfo.GenInfoPlugin")) {
    /**
     * General Information
     */

    /**
     * General Info
     */
    jsx3.lang.Package.definePackage("tibco.admin.enterpriseAssets.envDef.envDtls.genInfo", function (genInfo) {
    });

    jsx3.lang.Class.defineClass("tibco.admin.enterpriseAssets.envDef.envDtls.genInfo.GenInfoPlugin",
            jsx3.lang.Object,
            [tibco.admin.enterpriseAssets.envDef.envDtls.EnvDtlsNavInterface],
            function (plugin) {

                plugin.instance = null;

                plugin.getInstance = function(args) {
                    if(!plugin.instance) {
                        plugin.instance = new tibco.admin.enterpriseAssets.envDef.envDtls.genInfo.GenInfoPlugin();
                    }
                    return plugin.instance;
                };

                plugin.prototype.getNamespace = function() {
                    return "tibco.admin";
                };

                plugin.prototype.loadComponent = function(parent) {
                    var me = this;
                    tibco.admin.Main.loadUIResourceAsync(parent, this.getNamespace(), "tibco/admin/enterpriseAssets/envDef/envDtls/genInfo/ui/genInfo.xml", me, me.componentLoaded);
                };

                //interface method
                plugin.prototype.getNavLinkText = function() {
                    return tibco.admin.Main.getServer().getDynamicProperty("@@NavLinkTextGenInfo");
                };

                plugin.prototype.componentLoaded = function(objEvent) {
                    if(objEvent.status == "SUCCESS") {
                        this.block = objEvent.obj;
                        var me = this;
                        this.block.handler = me;
                    }
                    else {
                        if(objEvent.exception)
                        {
                            tibco.admin.Main.logException(objEvent.exception, objEvent.message);
                        }
                        else {
                            jsx3.log(objEvent.message);
                        }
                    }
                }
                plugin.prototype.getComponentPath = function() {
                    return  "tibco/admin/enterpriseAssets/envDef/envDtls/genInfo/component.xml"
                }

                plugin.prototype.buttonSelected = function() {
                    if(this.block) {
                        this.block.onEnvironmentSelect(null, true);
                    }
                }
            });

}
